MC_MoveRelative

功能塊 MC_MoveRelative
下達一個目標為特定相對位置之運動指令。呼叫此命令時,給定之相對距離將添加於當前指令位置 (Set Position)。
VAR_IN_OUT
B AxisIn AXIS_REF 軸的參考。
VAR_INPUT
B Execute BOOL 在上升邊緣開始運動。
E ContinuousUpdate BOOL 若為 TRUE,則當功能塊 (FB) 正在執行且參數值正被更新時,FB 將使用新值;若為 FALSE,則 FB 不會使用新值。
B Distance LREAL 運動的相對距離(單位)。
B Velocity LREAL 最大速度值(非必要到達)[單位/秒]
E Acceleration LREAL 加速度值,單位由 MC_ProfileType 決定(馬達的增加能量) [單位/每秒2] 或 [每秒]。
E Deceleration LREAL 減速度值,單位由 MC_ProfileType 決定(馬達的減少能量) [單位/每秒2] 或 [每秒]。
E Jerk LREAL 加加速度值。單位由 MC_ProfileType 決定為 [單位/每秒3] 或 [每秒]。
E BufferMode MC_BufferMode 定義如何融合兩功能塊的速度。
VAR_OUTPUT
B Done BOOL 已達到命令距離。
E Busy BOOL 功能塊尚未完成且預期將有新的輸出值。
E Active BOOL 功能塊正在控制軸。
E CommandAborted BOOL 命令被另一個命令中止。
B Error BOOL 功能塊中出現錯誤的訊號。
E ErrorID MC_Error 錯誤識別。
  • 若此命令中斷,將放棄未行駛的距離。
  • 若無其他擱置的動作,則此動作以零速度完成。
  • 更多關於融合模式的運作方式之資訊請見:概念解說 > 融合運動

 

  MC_MoveRelative  
AXIS_REF   AxisIn   Axis   AXIS_REF
BOOL   Execute   Done   BOOL
BOOL   ContinuousUpdate   Busy   BOOL
LREAL   Distance   Active   BOOL
LREAL   Velocity   CommandAborted   BOOL
LREAL   Acceleration   Error   BOOL
LREAL   Deceleration   ErrorID   MC_Error
LREAL   Jerk        
MC_BufferMode   BufferMode        
             

下圖兩個範例為兩個相對運動功能塊組合:

  1. 時序圖的左側部分說明了在第一個功能塊 (FB) 之後呼叫第二個功能塊 (FB) 的情況,若 First 到達命令位置 6000(且速度為 0),則輸出 Done 會導致 Second FB 移動命令距離 4000 並將軸移到結果位置 10000。
  2. 時序圖的右側部分說明了 Second 移動功能塊 (FB) 在第一個 FB 仍在執行時開始執行的情況,在這種情況下,在 First FB 的恆定速度期間,第一個運動即被 Test 訊號中斷和中止;Second FB 增加距離 4000 至設定位置 3250 並將軸移動至結果位置 7250。